Common Gateway Interface (CGI) is a standard method for web server software to delegate the generation of web content to executable files. Such files are known as CGI scripts or simply CGIs; they are usually written in a scripting language.
Note two new lines at the end, this separates the HTML body from headers.
PSGI or Perl Web Server Gateway Interface is an interface between Perl web applications and web servers, and Plack is a Perl module and toolkit that contains PSGI middleware, helpers and adapters to web servers.
PSGI and Plack are inspired by Python’s WSGI and Ruby’s Rack.
Catalyst is an open source web application framework written in Perl, that closely follows the model–view–controller (MVC) architecture, and supports a number of experimental web patterns. It is written using Moose, a modern object system for Perl. Its design is heavily inspired by such frameworks as Ruby on Rails, Maypole, and Spring.
Catalyst have native PSGI/Plack support which makes deployment for most webservers a no-brainer.
http://www.catalystframework.org/
Framework for building reusable web-applications. It makes it easier to create sophisticated, high-performance, reusable web-based applications and helps you to make web applications easier to design, write, and evolve.
A mess of modules in CPAN which are “working” with this framework.
Continuity is a perl library for building stateful web applications in a style similar to that of command line or desktop applications. The core library is minimalist in nature, staying out of your way much like CGI.pm does. Applications execute as a continuous process on the server, providing advantages similar to mod_perl.
Dancer is a simple but powerful web application framework for Perl. Dancer is inspired by Ruby’s Sinatra framework: a framework for building web applications with minimal effort, allowing a simple webapp to be created with very few lines of code, but allowing the flexibility to scale to much more complex applications. Dancer supports plugins to add various extra functionality you may want, whilst keeping the core streamlined.
Web Server Gateway Interface and HTTP Server Engine Drivers.
HTTP::Engine abstracts handling the input and output of various web server environments, including CGI, mod_perl and FastCGI. Most of the code is ported over from Catalyst::Engine.
http://search.cpan.org/~yappo/HTTP-Engine-0.03005/lib/HTTP/Engine.pm
Version 1 of Mason (HTML::Mason) has been around since 1998
Mason is a powerful Perl-based templating system for generating HTML or other dynamic content. It has powered thousands of web sites over the past 15 years, including Amazon.com and Salon.com.
Poet is a modern companion web framework for Mason. It uses PSGI/Plack for server integration and a selection of best-of-breed CPAN modules for caching, logging and configuration.
Amazon.com, Delicious.com, Rent.com, Dyn.com, HearstMags.com, Salon.com, Shutterstock.com
MVC web application framework
Maypole is a Perl web application framework similar to Java’s Struts. It is essentially completely abstracted, and so doesn’t know anything about how to talk to the outside world. To use it, you need to create a driver package which represents your entire application.
This needs to first use Maypole::Application which will make your package inherit from the appropriate platform driver such as Apache::MVC or CGI::Maypole. Then, the driver calls setup. This sets up the model classes and configures your application. The default model class for Maypole uses Class::DBI to map a database to classes, but this can be changed by altering configuration.
http://search.cpan.org/~teejay/Maypole-2.13/lib/Maypole.pm
A next generation web framework for the Perl programming language.
Back in the early days of the web, many people learned Perl because of a wonderful Perl library called CGI. It was simple enough to get started without knowing much about the language and powerful enough to keep you going, learning by doing was much fun. While most of the techniques used are outdated now, the idea behind it is not. Mojolicious is a new attempt at implementing this idea using state of the art technology.
http://mojolicio.us/ https://github.com/kraih/mojo
PSGI micro web framework toolkit
Piglet is a DIY toolkit for web application and web framework developers. Piglet is a collection of modules, utilities and helpers to make it easier than ever to create a new micro web framework, or add new features to existing frameworks.
Piglet is inpired by Sinatra, Merb, routes, Ruby on Rails, WebOb, juno, bottle, Dancer and Mojolicious.
https://github.com/miyagawa/Piglet
A Camping-inspired Web Microframework for Perl.
https://github.com/beppu/squatting
Non-blocking web framework based on Plack and AnyEvent
Tatsumaki is a toy port of Tornado for Perl using Plack (with non-blocking extensions) and AnyEvent.
It allows you to write a web application that does a immediate response with template rendering, IO-bound delayed response (like fetching third party API or XML feeds), server push streaming and long-poll Comet in a clean unified API.
https://github.com/miyagawa/Tatsumaki
The more well-known and recognized the framework is, the more it will be “living,” evolving and complete.
A tool developed by professionals for their own needs will obviously meet the demands of other professionals.
Before choosing a framework, make sure that it will be able to keep up with you for the duration.
Another criterion that should not be overlooked is the ease of finding answers to your questions and getting help.
One that respects best practices in terms of development (design patterns).
Any application is potentially vulnerable.
A well-documented tool is both easier to use and more upgradeable.
Licenses are important simply because they can have a significant impact on your applications.
Make sure that the skills required for the tool that you are using are available on the open market.